/*
 * SysUserMapper.java
 * Copyright(C) 2020-2099 WYY
 * All rights reserved.
 * -----------------------------------------------
 * 2020-04-14 Created
 */
package com.project.web.system.mapper.app;

import com.project.web.system.model.app.Admin;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 系统用户Mapper
 */
public interface AdminMapper {

    /**
     * 根据ID删除
     *
     * @param userId 系统用户ID
     * @return
     */
    int delete(@Param("userId") String userId);

    /**
     * 保存对象
     *
     * @param sysUser 系统用户对象
     * @return
     */
    int save(Admin sysUser);

    /**
     * 更新对象
     *
     * @param sysUser 系统用户对象
     * @return
     */
    int update(Admin sysUser);

    /**
     * 根据ID查询对象
     *
     * @param userId 主键ID
     * @return
     */
    Admin getById(@Param("userId") Long userId);

    /**
     * 动态查询
     *
     * @param sysUser 实体对象
     * @return
     */
    List<Admin> selectList(Admin sysUser);

    /**
     * 根据用户登录名称查询用户
     *
     * @param userName 用户名称
     * @return
     */
    Admin getByUserName(@Param("userName") String userName);

    /**
     * 根据星期查询值班人数
     *
     * @param weekDay
     * @return
     */
    List<Admin> getByDuty(int weekDay);

    /**
     * 获取老师列表
     * @return
     */
    List<Admin> getTeachers();

    /**
     * 获取最大用户Id
     *
     * @return
     */
    Long getMaxUserId();

}